<?php

namespace App\Admin\Controllers;

use App\Models\Coupon;
use Encore\Admin\Controllers\AdminController as Controller;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;

class CouponController extends Controller
{
    protected $title = "优惠券管理";

    protected function grid()
    {
        $grid = new Grid(new Coupon);

        $grid->model()->latest();
        // 搜索
        $grid->filter(function($filter){
            // 去掉默认的id
            $filter->disableIdFilter();
            $filter->like('name', '名称');
            $filter->like('code', '优惠码');

        });

        $grid->id('ID');
        $grid->name('名称');
        $grid->code('优惠码');
        $grid->type('优惠类型')->display(function () {
            return "满减优惠";
        });
        $grid->price('优惠价格')->display(function ($v) {
            return price($v);
        });
        $grid->min_amount('最低使用价格')->display(function ($v) {
            return price($v);
        });
        $grid->total('总个数');
        $grid->used('已使用个数');
        $grid->not_before('优惠使用最早时间');
        $grid->not_after('优惠使用最后时间');
        $grid->enabled('是否启用')->switch(Coupon::COUPON_STATUS);
        $grid->created_at('创建时间');

        $grid->disableActions();

        return $grid;
    }

    protected function form()
    {
        $form = new Form(new Coupon);

        // $form->select('type', '优惠类型')->options([1 => '满减优惠']);
        $form->text('price', '优惠价格');
        $form->number('min_amount', '最低使用价格');
        $form->number('total', '总个数');
        $form->date('not_before', '优惠使用最早时间')->default(date('Y-m-d'));
        $form->date('not_after', '优惠使用最后时间')->default(date('Y-m-d'));
        $form->switch('enabled', '是否启用')->states(Coupon::COUPON_STATUS);

        $form->tools(function (Form\Tools $tools) {
            // 去掉`删除`按钮
            $tools->disableDelete();

            // 去掉`查看`按钮
            $tools->disableView();

        });

        return $form;
    }
}
